<nz-card class="m-b-2">
  <div class="common-search-wrap">
    <div class="common-search-forms">
      <div class="common-form-item">
        <label class="common-search-label">所属品牌</label>
        <div class="common-search-conrol">
          <nz-select
            [(ngModel)]="seachParams.brandId"
            (nzScrollToBottom)="loadMore()"
            nzPlaceHolder="请选择所属品牌"
            nzAllowClear
            nzShowSearch
            [nzDropdownRender]="renderTemplate"
            (ngModelChange)="brandChange($event)"
          >
            <nz-option *ngFor="let option of brandOptions" [nzValue]="option.id" [nzLabel]="option.name"></nz-option>
          </nz-select>
          <ng-template #renderTemplate>
            <nz-spin *ngIf="baradListForm.isLoading"></nz-spin>
          </ng-template>
        </div>
      </div>
      <div class="common-form-item">
        <label class="common-search-label">所属品类</label>
        <div class="common-search-conrol">
          <nz-select
            [(ngModel)]="seachParams.category"
            nzPlaceHolder="请选择所属品类"
            nzAllowClear
          >
            <nz-option [nzValue]="1" nzLabel="手机"></nz-option>
            <nz-option [nzValue]="2" nzLabel="平板"></nz-option>
          </nz-select>
        </div>
      </div>

      <div class="common-form-item">
        <label class="common-search-label">系列名称</label>
        <div class="common-search-conrol">
          <!-- <input nz-input placeholder="请输入系列名称" [(ngModel)]="seachParams.name" /> -->
          <nz-select
            nzShowSearch
            nzServerSearch
            nzAllowClear
            nzPlaceHolder="请选择系列"
            [(ngModel)]="seachParams.name"
            [nzFilterOption]="nzFilterOption"
            (nzOnSearch)="seriesSearch($event)"
          >
            <ng-container *ngFor="let o of seriesOptions">
              <nz-option *ngIf="!isSeriesLoading" [nzLabel]="o.name" [nzValue]="o.name"></nz-option>
            </ng-container>
            <nz-option *ngIf="isSeriesLoading" nzDisabled nzCustomContent>
              <i nz-icon nzType="loading" class="loading-icon"></i>
              Loading Data...
            </nz-option>
          </nz-select>
        </div>
      </div>

      <div class="common-form-item">
        <label class="common-search-label">更新时间</label>
        <div class="common-search-conrol">
          <nz-range-picker
            [(ngModel)]="updateTimes"
            (ngModelChange)="timeChange($event)">
          </nz-range-picker>
        </div>
      </div>

      <div class="common-form-item">
        <button nz-button nzType="primary" [nzLoading]="tableParams.tableLoading" class="m-r-8" (click)="seachData()">查询</button>
        <button nz-button nzType="default" (click)="resetData()">重置</button>
        <!-- <button nz-button nzType="link" (click)="isCollapse = !isCollapse">
          {{ isCollapse ? '收起' : '展开' }}<i nz-icon [nzType]="isCollapse ? 'up' : 'down'" nzTheme="outline"></i>
        </button> -->
      </div>
    </div>
  </div>
</nz-card>

<nz-card>
  <div class="opera-wrap p-b-10">
    <button nz-button nzType="primary" (click)="showModal(0)">
      <i nz-icon nzType="plus" nzTheme="outline"></i>新增系列
    </button>
  </div>

  <!-- Table -->
  <div class="pagination-wrap-position">
    <div class="table-wrap">
      <nz-table
        #basicTable
        nzSize="small"
        nzShowSizeChanger
        nzShowQuickJumper
        nzOuterBordered
        [nzFrontPagination]="false"
        [nzLoadingDelay]="100"
        [nzLoading]="tableParams.tableLoading"
        [nzData]="tableData"
        [nzPageSizeOptions]="[5, 10, 20, 50, 100]"
        [nzTotal]="tableParams.total"
        [nzPageIndex]="tableParams.page"
        [nzPageSize]="tableParams.pageSize"
        [nzShowTotal]="totalTemplate"
        (nzPageIndexChange)="onPageIndexChange($event)"
        (nzPageSizeChange)="onPageSizeChange($event)"
      >
        <thead>
          <tr>
            <th nzAlign="center" nzWidth="120px">ID</th>
            <th nzAlign="center">系列名称</th>
            <th nzAlign="center">所属品牌</th>
            <th nzAlign="center">所属品类</th>
            <th nzAlign="center">机型</th>
            <th nzAlign="center">更新时间</th>
            <th nzAlign="center">操作</th>
          </tr>
        </thead>

        <tbody>
          <tr *ngFor="let data of basicTable.data; let index = index;">
            <td nzAlign="center">{{ data.id }}</td>
            <td nzAlign="center">{{ data.name || '-' }}</td>
            <td nzAlign="center">{{ data.brandName || '-' }}</td>
            <td nzAlign="center">{{ BRANDTYPE[data['category']] }}</td>
            <td nzAlign="center">
              <a nz-button nzType="link" target="_blank" [disabled]="!data.recycleModelCount" [routerLink]="['/aisi-recyc/loveModelConfig']" [queryParams]="{ seriesId: data.id }">{{ data.recycleModelCount || '-' }}</a>
            </td>
            <td nzAlign="center">{{ data.updateTime || '-' }}</td>
            <!-- 操作 -->
            <td nzAlign="center">
              <button nz-button nzType="link" (click)="showModal(1, data)">编辑</button>
              <a
                nz-button
                nzType="link"
                nzDanger
                nz-popconfirm
                nzPopconfirmTitle="确认删除?"
                [nzIcon]="iconTpl"
                (nzOnConfirm)="deleteItem(data)">
                删除
              </a>
              <ng-template #iconTpl>
                <i nz-icon nzType="question-circle-o" style="color: red;"></i>
              </ng-template>
            </td>
          </tr>
        </tbody>
      </nz-table>

      <!-- 分页template -->
      <ng-template #totalTemplate let-total>共有 {{ tableParams.total }} 条</ng-template>
    </div>
  </div>
</nz-card>

<!-- 新增编辑 Modal START -->
<nz-modal
  nzClassName="custom-model-wrap"
  [nzFooter]="null"
  [(nzVisible)]="isVisible"
  [nzTitle]="modalType == 0 ? '新增系列' : '编辑系列'"
  (nzOnCancel)="handleCancel()">

  <div *nzModalContent>
    <div class="custom-model-body">
      <!-- body START -->
      <form nz-form class="modal-body" [formGroup]="validateForm">
        <nz-form-item>
          <nz-form-label nzSpan="6" nzRequired>系列名称</nz-form-label>
          <nz-form-control nzSpan="18" nzErrorTip="请输入系列名称!">
            <input formControlName="name" nz-input placeholder="请输入系列名称" />
          </nz-form-control>
        </nz-form-item>

        <nz-form-item>
          <nz-form-label nzSpan="6" nzRequired>所属品牌</nz-form-label>
          <nz-form-control nzSpan="18" nzErrorTip="请选择所属品牌!">
            <nz-select
              formControlName="brandId"
              (nzScrollToBottom)="loadMore()"
              nzPlaceHolder="请选择所属品牌"
              nzAllowClear
              nzShowSearch
              [nzDropdownRender]="renderTemplate"
              [nzDisabled]="modalType == 1 && modalItem.recycleModelCount > 0"
            >
              <nz-option *ngFor="let option of brandOptions" [nzValue]="option.id" [nzLabel]="option.name"></nz-option>
            </nz-select>
            <ng-template #renderTemplate>
              <nz-spin *ngIf="baradListForm.isLoading"></nz-spin>
            </ng-template>
          </nz-form-control>
        </nz-form-item>

        <nz-form-item>
          <nz-form-label nzSpan="6" nzRequired>所属品类</nz-form-label>
          <nz-form-control nzSpan="18" nzErrorTip="请选择所属品类!">
            <nz-select
              formControlName="category"
              nzPlaceHolder="请选择所属品类"
              nzAllowClear
            >
              <nz-option [nzValue]="1" nzLabel="手机"></nz-option>
              <nz-option [nzValue]="2" nzLabel="平板"></nz-option>
            </nz-select>
          </nz-form-control>
        </nz-form-item>
      </form>
      <!-- body END -->
    </div>

    <div class="custom-model-foot">
      <div class="custom-foot-cont">
        <button nz-button nzType="primary" [nzLoading]="subModalLoding" (click)="submitForm()">确定</button>
        <button nz-button nzType="default" (click)="handleCancel()">取消</button>
      </div>
    </div>
  </div>
</nz-modal>
<!-- 新增编辑 Modal END -->
